# -*- coding:utf-8 -*-
# @Time:2024/4/1921:01
# @Author:miuzg
# @FileName:new test2.py
# @Software:PyCharm
import pandas as pd
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba

# 读取Excel文件
df = pd.read_excel('clear_maded_food.xlsx', sheet_name='预制表格')

# 处理combine列数据（假设列中是用逗号分隔的词语）
text = ' '.join(df['combine'].dropna().astype(str).str.replace(',', ' '))

# 设置中文字体（需自行下载SimHei字体或使用系统支持的中文字体）
font_path = 'simhei.ttf'  # 请确保字体文件存在当前目录或修改为正确路径

# 创建词云对象并生成词云
wc = WordCloud(
    font_path=font_path,     # 中文字体路径
    background_color="white",# 背景颜色
    width=1200,              # 宽度
    height=800,              # 高度
    max_words=200,           # 最大词数
    colormap="viridis",      # 配色方案
    contour_width=3,         # 轮廓宽度
    contour_color="steelblue"# 轮廓颜色
).generate(text)

# 保存词云图片
wc.to_file("food_wordcloud.png")

# 使用matplotlib显示效果更佳的可视化
plt.figure(figsize=(15, 10))
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()